package cn.sytton.taffecloud.service.system.entity;

import cn.sytton.taffecloud.common.base.annotation.NewId;
import cn.sytton.taffecloud.common.model.base.FieldEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * 菜单entity sys_menu
 *
 * @author skyrock
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MenuEntity extends FieldEntity {

    @NewId
    private String menuId;    // 菜单ID 
    private String menuName;    // 名称 
    private String path;    // 相对路径 
    private String component;    // 组件 
    private String iconClass;    // 图标 
    private Integer seq = 0;    // 显示顺序
    private String parentId;    // 父级菜单ID 
    private Integer hidden = 0;    // 隐藏 

    //-----以下是关联属性-----
    private List<String> funcKeys = new ArrayList<>(); //功能项集合

    private List<MenuEntity> children = new ArrayList<>(); //下级菜单集合
}
